1. Field of the Invention
This invention is concerned with a method and arrangement for parity checking in a data processing system. More particularly, this invention relates to a method and arrangement for checking parity where data has been rearranged or formatted so that its constituent bytes thereby each become separated from the parity bits with which they are normally associated.
2. Description of the Prior Art
Peripheral input/output devices supply data to digital data processors in the form of binary coded characters, wherein each character represents a single alphabetical letter, numerical digit, graphic symbol, any punctuation mark for example, or control character. In a typical class of present day, large-scale data processors, each character has a length of one byte, with a byte being defined as a sequence of eight adjacent binary data bits. Eight bits provide 256 different unique code values and, hence, a character set that can represent up to 256 different characters.
In the case of numerical data, the data from the input/output device is in a zoned decimal format wherein the lower order four bits of each character or byte constitute a zone field. The four-bit digit field contains a binary coded decimal representation of a decimal digit value and the four-bit zone field contains a unique zone code which identifies the character as being a numerical value and not an alphabetic, graphic symbol or control character.
Unfortunately, the arithmetic and logic units which perform the numerical calculations in most present-day data processors cannot handle numeric data in the zoned format. The presence of the zone fields would produce erroneous results. Thus, it is necessary to convert the zoned numerical data received from an input/output device to a packed decimal format before using it to perform numerical calculations. This is accomplished by deleting the zone fields and placing the digit fields adjacent to each other so as to form continuous sequences having only digit fields. The performance of this zone-to-packed format conversion is commonly referred to as "packing".
A converse type of situation obtains when it is desired to send the results of numerical calculations back to a peripheral input/output device. The numerical results must be converted from the packed format back to the zoned format before the data is returned to the input/output device. This requires the separation of the digit fields and the insertion of the unique zone field code for numerical characters in the intervening spaces. The performance of this packed-to-zoned format conversion is commonly referred to as "unpacking".
Data format converting apparatus for use in data processing systems to achieve the above-stated results are described in commonly assigned U.S. Pat. No. 3,168,723 which issued to Foin et al on Feb. 2, 1965 and in commonly assigned U.S. Pat. No. 4,141,005 which issued to Bonner et al on Feb. 20, 1979. While the byte shifter or format conversion aspects of such apparatus works rather well, the user is left without any means of checking parity on the data bus entering the format converting apparatus. In the Bonner et al implementation, for example, the eight parity bits associated with each of the data bytes are stripped therefrom. The parity bits are then passed through to a destination register. At the destination register, each byte is reassembled together with its associated parity bit, at which point a parity check can be made.
Unfortunately, the discovery of a parity error at this point will not lead to easy isolation of the cause thereof. The parity error, may simply mean that a particular data byte and its associated parity bit were in error before entering the byte shifter. It could also mean that a malfunction has occurred in the shifter circuitry and caused the parity error. In most instances, isolation of the fault is impractical or impossible.